The field of business applications of computer technology has seen many important changes over the last few years. With steadily growing computational power and data storage capacities of computer systems used for business data processing, the interest of the business community has shifted from transactional data management systems (on-line transaction processing systems, or OLTP systems, mostly supporting day-to-day business operations) and from relatively simple business data processing systems, towards sophisticated business management systems, such as enterprise resource planning (ERP) systems, integrating at the enterprise level all facets and functions of the business, including planning, manufacturing, sales and marketing. An example of a business management software package of this scope is SAP R/3 System available from SAP AG (Germany) or its U.S. branch, SAP America, Inc.
Among various alternative approaches to business data management and analysis developed over the last few years, many are related to data warehousing. A data warehouse can be defined broadly as a subject-oriented collection of business data identified with a particular period of time, as opposed to transactional databases dedicated to ongoing business activities. A scaled-down, usually single-subject oriented warehouse is sometimes referred to as a data mart. Data in a warehouse is normally gathered from a variety of sources (mostly various OLTP and legacy systems) and merged into a coherent whole. Data in a warehouse is usually stable, in that data is added to the warehouse but not removed. The latter feature, which is normally desirable to provide a more complete image of the business over time, may be absent from warehouses designed to keep data for a predetermined time span, with the oldest data being unloaded when the newest data is added.
As opposed to data stored in OLTP systems intended to support day-to-day operations and optimized for the speed and reliability of transaction updating, data stored in a data warehouse is intended to provide higher-level, aggregated views of the data, such as total sales by product line or region over a predetermined period of time, in support of business decision making. To provide consistently fast responses to such aggregate queries, data in a data warehouse or data mart must be structured in a manner facilitating the data synthesis, analysis, and consolidation.
The most characteristic feature of warehoused business data is its multidimensional view of a business, meaning that business data is organized according to major aspects and measures of the business, called dimensions, such as its products, markets, profits, or time periods involved, as opposed to data dependencies model of the business data, which keeps track of all logical relationships among all the possible data elements relevant to the business and its day-to-day operations A dimension may include several hierarchical levels of categories, for example the market dimension may contain, in descending order, such categories as country, region, state, and city, each category having its own number of specific instances. A hierarchical dimension reduces the total number of dimensions necessary to describe and organize the data, as compared with the situation where each category is represented by a separate dimension. The action of viewing data in greater detail by moving down the hierarchy of categories, i.e., by moving from parent to child category, is sometimes referred to as “drilling down” through the data. Quite naturally, the action of moving in the opposite direction, i.e., up the hierarchy of categories, to produce a more consolidated, higher-level view of data, is known as “drilling up” through the data.
The vast amounts of warehoused or otherwise collected business data would be useless without software tools for its analysis. Such tools are known under the collective name of Business Intelligence (BI) applications, an example of which is a suite of BI applications from Cognos Inc (Canada). BI applications provide, among others, data warehouse construction tools, as well as database querying, navigation and exploration tools, the latter including, among others, reporting, modeling, and visualization tools. Some of these tools combine new ways of data analysis and presentation with methods for discovering hidden patterns and previously unrecognized relationships among data, the approach known as data mining.
Among BI applications made available to the business community over the last few years, tools for visualizing business data are of particular importance. By interacting with person's sight, they became means of choice for consolidating and presenting vast amounts of complex information, in the manner which facilitates pattern recognition in the presented data and invites data exploration.
A characteristic feature of visualization applications is their extensive use of sophisticated and complex graphics presented dynamically to the user, typically on the screen of a computer monitor or a similar display device. Many actions taken by the application user when exploring the data require that the graphics displayed on the screen be quickly updated by the computer system. This updating, usually referred to as “screen repainting”, is sometimes expected to take place on a frequent and quasi-instantaneous basis, for example, to create the illusion of a continuous motion of the image on the screen, when the user is panning the image (moving it horizontally or vertically over the screen), rotating it or zooming in or out. Depending on the complexity of the graphics presented on the screen and resources of the computer system running the application, the repainting of the screen may be a relatively time-consuming task resulting in some undesirable visual effects, such as “slide-show”-like presentation of the image motion instead of a quasi-continuous one.
An important factor affecting the screen repainting is the manner in which the visualization application interacts with the operating system run by the computer. In graphic user interface (GUI)-based operating systems, such as MS Windows, MAC OS, or X-Windows on Unix, an application running under the operating system has assigned what is called a message queue, which queues messages sent to the application by the operating system, informing the application about events taking place in various peripheral devices of the computer system, such as the keyboard or mouse, and/or requesting various actions to be taken by the application as a result. The present invention provides a new method of repainting the screen of a display device, in particular under conditions requiring frequent repainting of the screen, by using information provided by the message queue, which method is free of certain problems and limitations of similar prior art methods.